// 给你一个 m x n 的矩阵 matrix 。如果这个矩阵是托普利茨矩阵，返回 true ；否则，返回 false 。
// 如果矩阵上每一条由左上到右下的对角线上的元素都相同，那么这个矩阵是 托普利茨矩阵 。

const isToeplitzMatrix = function (matrix: number[][]): boolean {
    const row = matrix.length;
    const col = matrix[0].length;
    for (let i = 0; i < row - 1; i++) {
        for (let j = 0; j < col - 1; j++) {
            const next: number = matrix[i + 1][j + 1];// 右下角的元素
            // 不相等直接返回
            if (next !== matrix[i][j]) {
                return false;
            }
        }
    }
    return true;
};

// 难度不大的一道考察矩阵遍历的题目
// 这道题目切记不要想复杂了，不需要考虑矩阵线
// 从点的角度来考虑即可，实际上就是扫描矩阵
// 在保证边界索引没有超出矩阵边界的情况下
// 需要每一个位置都要跟其右下角的元素相等。
// 常见的错误想法是遍历每条对角线，判断每条对角线上元素是否都相等。
// 如果基于上述思路可能会导致代码书写过于冗长且不清晰